; Eprom 394 per programmatore di eprom ; ; Rilocata a F400 per monitor esadecimale rilocato a F000 ; ; Sunday, 19 of November 2006 at 06:58 PM ; l8069 .equ 0F069h l80ec .equ 0F0ech l80aa .equ 0F0aah l8034 .equ 0F034h l803c .equ 0F03ch l8000 .equ 0F000h l800c .equ 0F00ch l8055 .equ 0F055h l8067 .equ 0F067h l8078 .equ 0F078h l9000 .equ 09000h .org 0F400h l8400: di ld sp,0066h ld a,10h call l8069 ld hl,0e17h ld (0006h),hl call l80ec ld hl,l8444 push hl l8416: xor a out (7fh),a l8419: ld bc,0000h in a,(7fh) and 07h cp 07h jr z,l8400 ; (-24h) set 3,b cp 05h ret z cp 00h ret z ld b,10h cp 03h ret z ld b,04h ret l8434: ld hl,1010h ld (0000h),hl ld (0002h),hl jp l8471 ld c,h ld d,l ld b,e ld b,c l8444: ld de,2708h cp 04h jr z,l8460 ; (+15h) ld d,25h cp 06h jr z,l8466 ; (+15h) ld de,2716h cp 00h jr z,l8466 ; (+0eh) cp 05h jr z,l8460 ; (+04h) ld e,32h jr l8466 ; (+06h) l8460: ld hl,1111h ld (0004h),hl l8466: ld a,e call l8034 ld hl,0003h ld a,d call l803c l8471: call l80ec call l80aa cp 11h jp z,l84e3 cp 12h jp z,l84d8 cp 1ch jp z,l84f4 cp 17h jp z,l8000 cp 1ah jp z,l8514 cp 1dh jp z,l8572 jp l852c jp l8400 l849b: call l8416 xor a cpl ld hl,l9000 l84a3: cpi ret nz ret po jr l84a3 ; (-06h) l84a9: call l8416 ld de,0400h ld hl,l9000 l84b2: ld a,(de) cpi ret nz ret po inc de jr l84b2 ; (-08h) l84ba: call l80ec call l80aa cp 1ah jp z,l8400 cp 1bh jp z,l8400 nop cp 10h jr z,l84d4 ; (+05h) call l800c jr l84ba ; (-1ah) l84d4: call l8055 ret l84d8: call l84a9 jp po,l8434 ld de,2d02h jr l84ec ; (+09h) l84e3: call l849b jp po,l8434 l84e9: ld de,2d01h l84ec: ex de,hl dec de ld (0005h),hl jp l8466 l84f4: call l8416 ld hl,l9000 ld de,0400h ldir call l84a9 jp po,l8434 ld de,2d03h jr l84ec ; (-1eh) l850a: call l8067 l850d: ld de,0000h call l8078 ret l8514: call l850a ld hl,0c1ch ld (0000h),hl call l84ba ex de,hl ld de,0400h call l8416 ldir jp l8400 l852c: cp 1bh jp z,l856a jp l8400 l8534: call l80ec call l80aa jp l8581 nop nop nop l8540: call l850a ld hl,0c2dh ld (0000h),hl l8549: ld a,12h ld (0007h),a call l84ba ex de,hl ld a,13h ld (0007h),a call l850d call l84ba push de ld a,11h ld (0007h),a call l850d jp l8602 ret l856a: call l8540 ldir jp l8400 l8572: ld hl,1717h ld (0000h),hl ld hl,1111h ld (0002h),hl jp l8534 l8581: cp 10h jr z,l858c ; (+07h) cp 1fh jr z,l85dc ; (+53h) l8589: jp l8400 l858c: call l8416 cp 07h jr z,l8589 ; (-0ah) cp 04h jr z,l85a9 ; (+12h) cp 05h jr z,l85a9 ; (+0eh) jr l85de ; (+41h) nop l859e: call l849b jp nz,l84e9 l85a4: ld a,01h out (7fh),a ret l85a9: call l859e ld b,0a0h l85ae: bit 0,b jr nz,l85b6 ; (+04h) ld a,17h jr l85b8 ; (+02h) l85b6: ld a,11h l85b8: ld (0000h),a call l80ec push bc call l8419 ld hl,0400h ld de,l9000 ldir pop bc djnz l85ae ; (-1fh) l85cd: call l8416 call l84a9 l85d3: jp po,l8434 ld de,2d04h jp l84ec l85dc: jr l8609 ; (+2bh) l85de: call l859e call l8419 ld hl,0400h ld de,l9000 l85ea: bit 0,c jr nz,l85f2 ; (+04h) ld a,17h jr l85f4 ; (+02h) l85f2: ld a,11h l85f4: ld (0000h),a call l80ec ldi ld a,b or c jr nz,l85ea ; (-16h) jr l85cd ; (-35h) l8602: call l84ba ld c,e ld b,d pop de ret l8609: call l850a ld hl,1717h ld (0000h),hl call l8549 exx call l8416 cp 04h jr z,l865a ; (+3dh) cp 05h jr z,l865a ; (+39h) exx call l8067 ld a,17h ld (0001h),a ld (0006h),a ld a,0eh ld (0007h),a push bc push de push hl call l85a4 l8638: bit 0,c jr nz,l8640 ; (+04h) ld a,17h jr l8642 ; (+02h) l8640: ld a,11h l8642: ld (0000h),a call l80ec ldi ld a,b or c jr nz,l8638 ; (-16h) xor a out (7fh),a pop de pop hl pop bc call l84b2 jp l85d3 l865a: jp l8400 .org 0F800h .end